729C - Road to Cinema - CodeForces Solution


binary search greedy sortings *1700

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define all(x) x.begin(), x.end()
#define push(x) push_back(x)
#define fill(arr, val) memset(arr, val, sizeof(arr));
#define forto(i, a, b) for (int i = a; i <= b; i++)
#define fordw(i, b, a) for (int i = b; i >= a; i--)
#define ll long long
#define price first
#define futank second
#define S (gas[i] - gas[i-1])

using namespace std;

int main()
{
    IOS

    ll n, k, s, t; cin >> n >> k >> s >> t;

    vector<pair<ll, ll>> car(n);
    vector<ll> gas(k+2); gas[0] = 0; gas[k+1] = s;

    for (int i = 0; i < n; i++)
    {
        cin >> car[i].price >> car[i].futank;
    }

    for (int i = 1; i <= k; i++)
    {
        cin >> gas[i];
    }

    sort(all(gas));
    
    ll l = 0, r = (int)1e9;
    ll ans;

    while (l <= r)
    {
        ll m = (l+r)/2;

        bool check = true;

        ll sumT = 0;

        for (int i = 1; i < gas.size(); i++)
        {
            if (m - S < 0)
            {
                check = false;
                break;
            }
            else sumT += 2*S - min(m-S, S);
        }
        if (!check || sumT > t)
        {
            l = m + 1;
        }
        else
        {
            ans = m;
            r = m -1;
        }
    }

    ll mmb = LLONG_MAX;

    for (int i = 0; i < n; i++)
    { 
        if (car[i].futank >= ans)
        {
            mmb = min(car[i].price, mmb);
        }
    }

    cout << (mmb != LLONG_MAX ? mmb : -1);

    return 0;
}


Comments

Submit
0 Comments
More Questions

432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm
732A - Buy a Shovel
1220C - Substring Game in the Lesson
452A - Eevee
1647B - Madoka and the Elegant Gift
1408A - Circle Coloring
766B - Mahmoud and a Triangle
1618C - Paint the Array
469A - I Wanna Be the Guy
1294A - Collecting Coins